'''
1）奇偶排序
    给定10个整数的序列，要求对其重新排序。排序要求:
1.奇数在前，偶数在后；
2.奇数按从大到小排序；
3.偶数按从小到大排序。
样例输入：4 7 3 13 11 12 0 47 34 98
样例输出：47 13 11 7 3 0 4 12 34 98
'''
def Part1():
    #num=[int(i) for i in input().split()]
    #num=[5, 7, 65, 5, 3, 1, 34, 554, 654, 674, 5632, 532, 556, 76, 898, 956, 734]
    num = [4, 7, 3, 13, 11, 12, 0, 47, 34, 98]

    #奇数在前，偶数在后
    num_j=[]#奇数列表
    num_o=[]#偶数列表
    # num_j=[i for i in num if i %2==0 ]
    # num_o=[i for i in num if i %2==1 ]
    # num_j.sort(reverse=True)
    # num_o.sort()
    # print(num_j)
    # print(num_o)
    # sum=num_j+num_o
    # print(sum)
    #

    for i in num:
        if i%2==0:
            num_o.append(i)
        else:
            num_j.append(i)
    #排序-奇数从大到小
    for i in range(0,len(num_j)-1):
        for j in range(0,len(num_j)-1-i):
            if num_j[j] < num_j[j+1]:
                num_j[j],num_j[j+1]=num_j[j+1],num_j[j]
            else:
                continue
    print(f'奇数列：{num_j}')
    #排序-偶数从小到大
    for i in range(0,len(num_o)-1):
        for j in range(0,len(num_o)-1-i):
            if num_o[j] > num_o[j+1]:
                num_o[j],num_o[j+1]=num_o[j+1],num_o[j]
            else:
                continue
    print(f'偶数列：{num_o}')
    sum_num=num_j+num_o#组合
    print(f'最终结果：{sum_num}')



def Part2(list,num):
    '''
    2）定义一个函数，功能为查找列表中的元素
    要求：如果有该元素，返回该元素对应的下标，如果没有该元素，返回None
    :param list:列表
    :param num: 元素值
    :return:
    '''
    time=0#统计索引出现位置
    count=[]#保存所有相同结果的索引
    for i in list:
        if i==num:
            count.append(time)#插入列表
        time=time+1
    if count==[]:
        return None
    else:
        return count

def Part3():
    '''
    3）使用列表推导式过滤出以下列表中长度大于 3 的单词
    :param list:
    :param num:
    :return:
    '''
    words = ['apple', 'banana', 'pie', 'orange', 'kiwi']
    num=[str for str in words if len(str)>3]
    print(num)


def Part4():
    '''
    5)有一个学生列表，每个学生是一个字典，包含 name 和 score。
    使用冒泡排序根据学生的分数 (score) 对列表进行降序排列。
示例数据：
students = [
{'name': 'Alice', 'score': 95},
{'name': 'Bob', 'score': 88},
{'name': 'Charlie', 'score': 92
}]
期望输出：
[
{'name': 'Alice', 'score': 95},
{'name': 'Charlie', 'score': 92},
{'name': 'Bob', 'score': 88}
]
    '''
    students = [
        {'name': 'Alice', 'score': 95},
        {'name': 'Bob', 'score': 88},
        {'name': 'Charlie', 'score': 92}

    ]
    for i in range(len(students)-1):
        for j in range(len(students)-1-i):
            if students[j]['score'] < students[j + 1]['score']:
                students[j], students[j + 1] = students[j + 1], students[j]

    print(students)



if __name__ == '__main__':
    num = [5, 7, 65, 5, 3, 1, 34, 554, 654, 674, 5632, 532, 556, 76, 898, 956, 734]
    #Part1()
    #print(Part2(num,5))
    # Part3()
    Part4()